#include <cstdio>
#include <cstring>
const int N=1001;
const int M=2001;
int main()
{
    double a[N],b[N],c[M];
    memset(a,0,sizeof(a));
    memset(b,0,sizeof(b));
    memset(c,0,sizeof(c));
    int num1,num2;
    scanf("%d",&num1);
    int i,j;
    int index;
    for(i=0;i<num1;++i)
    {//依次读入多项式
        scanf("%d",&index);
        scanf("%lf",&a[index]);
    }
    scanf("%d",&num2);
    for(i=0;i<num2;++i)
    {//下标即多项式的指数
        scanf("%d",&index);
        scanf("%lf",&b[index]);
    }
    for(i=0;i<N;++i)
    {//进行多项式的乘法计算
        if(a[i]!=0)
        {
            for(j=0;j<N;++j)
            {
                if(b[j]!=0)
                {
                    c[i+j]+=a[i]*b[j];
                }
            }
        }
    }
    int count=0;
    for(i=M-1;i>0;--i)
    {
        if(c[i]!=0)++count;
    }
    printf("%d",count);
    for(i=M-1;i>0;--i)
    {
        if(c[i]!=0)
        {
            printf(" %d %.1f",i,c[i]);
        }
    }
    return 0;
}
